package commons;

import java.util.ArrayList;
import java.util.List;

import javax.swing.table.AbstractTableModel;

import model.PathsFromSchema;
import model.ValidationTest;

public class ValidationTestTableModel extends AbstractTableModel {
	
	private List<ValidationTest> dados;
    private String[] colunas = {"Indice", "Valor"};
     
    public ValidationTestTableModel(){
        dados = new ArrayList<ValidationTest>();
    }
    
    public ValidationTestTableModel(List<ValidationTest> list){
        dados = list;
    }
     
    public void addRow(ValidationTest p){
        this.dados.add(p);
        this.fireTableDataChanged();
    }
 
    public void clearAll()
    {
    	this.dados.clear();
    	this.fireTableDataChanged();
    }
    public String getColumnName(int num){
        return this.colunas[num];
    }
 
    @Override
    public int getRowCount() {
        return dados.size();
    }
 
    @Override
    public int getColumnCount() {
        return colunas.length;
    }
 
    @Override
    public Object getValueAt(int linha, int coluna) {
        switch(coluna){
            case 0: return dados.get(linha).getIndex();
            case 1: return dados.get(linha).getValue();

       
        }   
        return null;
    }
    
  
    public void removeRow(int linha){
        this.dados.remove(linha);
        this.fireTableRowsDeleted(linha, linha);
    }
    
    public ValidationTest get(int linha){
        return this.dados.get(linha);
    }
    
    public boolean isCellEditable(int linha, int coluna) {
        return false;
    }
    
    public void setValueAt(Object valor, int linha, int coluna){
        if( valor == null) return;
         
        switch(coluna){
            case 0:  dados.get(linha).setIndex((String) valor);break;
            case 1: dados.get(linha).setValue((String) valor); break;

           } 
        this.fireTableRowsUpdated(linha, linha);
    }

    

}
